#include "ftpHelper.h"

bool FtpHelpers::uploadFile(QString loadFile)
{
    QNetworkAccessManager manager;
    QUrl url;

    url.setScheme("ftp");           // 设置通讯协议
//    url.setHost("192.168.0.19");    // 设置ftp服务器地址
//    url.setPort(21);                // 设置端口号
//    url.setUserName("bksw");      // 设置用户名
//    url.setPassword("zbw*963.");       // 设置密码
    url.setHost("192.168.0.24");
    url.setPort(21);
    QString urlPath="/test/"+loadFile.split('/')[loadFile.split('/').length()-1];
    url.setPath(urlPath);   // ftp服务器路径

    QFile file(loadFile);       // 加载载本地文件
    file.open(QIODevice::ReadOnly);
    QByteArray data = file.readAll();   // 读取本地文件数据
    file.close();

    QNetworkRequest request(url);
    QNetworkReply* reply = manager.put(request, data);    // 上传数据

    QEventLoop eventLoop;
    QObject::connect(reply, SIGNAL(finished()), &eventLoop, SLOT(quit()));
    //进入等待，但事件循环依然进行
    eventLoop.exec();

    if (reply->error() != QNetworkReply::NoError) {
        return false;
    }
    return true;
}
